System And Method Of Scheduling Advertising Content For Dynamic Insertion During Playback Of Video On Demand Assets

ABSTRACT

Described are computer-based methods and apparatuses, including computer program products, for scheduling advertising content for dynamic insertion during play of video on demand assets. A virtual linear program channel is generated that is associated with a plurality of video on demand assets, the virtual linear program channel comprising data defining a plurality of predetermined time bins and a forecast number of views of the virtual channel assets within each of the time bins. The virtual linear program channel data is transmitted to a remote scheduling server. Advertising content and linear program channel scheduling instructions are received from the remote scheduling server, the linear program channel scheduling instructions identifying the virtual linear program channel and a selected time bin for insertion of the advertising content. The linear program channel scheduling instructions are translated into scheduling criteria for dynamically inserting the advertising content during playback of any of the virtual channel assets within the selected time bin.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/328,441, filed on Dec. 4, 2008, the entire contents of which areincorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates generally to computer-based methods andapparatuses, including computer program products, for a system andmethod of scheduling advertising content for dynamic insertion duringplayback of video on demand assets.

BACKGROUND

In the U.S., television advertising is considered one of the mosteffective mass-market advertising formats. Advertising not only providesfunding for most privately owned television networks but also serves asa critical tool for companies and businesses to promote products andservices. Linear television is broadcast television that has apredefined schedule (e.g., broadcast television over a cable televisioninfrastructure or other embodiment). The majority of televisionadvertisements for linear television consist of brief advertising spots,ranging in length from a few seconds to several minutes. Spot Television(“Spot TV”), for example, is the purchase of commercial time on amarket-by-market basis.

Commercial time on linear television is usually sold based on a Cost PerMille (“CPM”) value of the ad spot, where M is the Roman letterrepresenting 1,000. As such, the CPM value of an advertising spot is thecost for the ad to reach approximately one thousand people. However, thenature of linear programming makes it difficult to calculate the actualnumber of ads and/or impressions delivered on a per ad basis. As aresult, certain statistics are needed to estimate the approximate numberof viewers of a particular linear television program. Third parties canprovide statistical viewership information for linear televisionprogramming, which can in turn serve as a baseline for calculating theCPM of an advertising spot. For example, The Nielson Company providesindependent audience sampling (“Nielson ratings”) based on, for example,national statistics, local statistics, and/or audience statistics. Adscan then be sold to advertising agencies (“ad agencies”), which workwith advertisers to create an individualized advertising campaign basedon, for example, the advertiser's target audience, preferred number ofviews, cost factors, desired run time of the ad campaign, and otherconsiderations.

Advertising for Video On Demand (“VOD”) has a very different frameworkcompared to linear television. VOD allows viewers to select and requeststored video and its accompanying content for presentation at the user'sin-home set-top box. Because each VOD presentation is initiated inresponse to a user request, better viewership statistics are availablefor VOD advertising that are not available for linear television. Assuch, VOD advertising is often sold on a cost-per-impression basis.Unlike linear television, VOD advertising can be tracked and quantifiedat the transaction level for true return on investment. For example, VODsystems can keep viewership statistics such as the geographicalarea/demographic group of delivery, approximate age group, ad requesttime, and other detailed ad delivery statistics that are not availablefor linear ad programming. Advantageously, this allows for targeted VODad campaigns based on the desired audience an advertiser wishes toreach.

SUMMARY OF THE INVENTION

The techniques described herein provide methods, apparatuses, andcomputer program products for scheduling advertising content for dynamicinsertion during playback of video on demand assets. Such dynamicinsertion facilitates, for example, sales of ads for video on demandasset avails through linear ad sales systems.

In one embodiment, there is a method. The method is for schedulingadvertising content for dynamic insertion during playback of video ondemand assets. The method includes generating a virtual linear programchannel associated with a plurality of video on demand assets, thevirtual linear program channel comprising data defining a plurality ofpredetermined time bins and a forecast number of views of the virtualchannel assets within each of the time bins. The method also includestransmitting the virtual linear program channel data to a remotescheduling server. The method also includes receiving advertisingcontent and linear program channel scheduling instructions from theremote scheduling server, the linear program channel schedulinginstructions identifying the virtual linear program channel and aselected time bin for insertion of the advertising content. The methodalso includes translating the linear program channel schedulinginstructions into scheduling criteria for dynamically inserting theadvertising content during playback of any of the virtual channel assetswithin the selected time bin.

In a second embodiment, there is a method. The method is for schedulingadvertising content for dynamic insertion during playback of video ondemand assets. The method includes receiving advertising content andlinear scheduling instructions from a remote scheduling server, thelinear scheduling instructions identifying a broadcast program channeland a scheduled time for insertion of the advertising content. Themethod also includes translating the linear scheduling instructions intoa virtual linear program channel, the virtual linear program channelbeing associated with a plurality of video on demand assets havingcontent related to content of the broadcast program channel. The methodalso includes translating the linear scheduling instructions intoscheduling criteria for dynamically inserting the advertising contentduring playback of any of the virtual channel assets within a selectedtime bin.

In another embodiment, there is a system. The system is for schedulingadvertising content for dynamic insertion during playback of video ondemand assets. The system includes a remote scheduling server. Thesystem also includes a gateway in communication with the remotescheduling server. The gateway generates a virtual linear programchannel associated with a plurality of video on demand assets, thevirtual linear program channel comprising data defining a plurality ofpredetermined time bins and an expected number of views of the pluralityof video on demand assets within each of the time bins. The gatewaytransmits the virtual linear program channel data to the remotescheduling server. The gateway receives advertising content and linearprogram channel scheduling instructions from the remote schedulingserver, the linear scheduling instructions identifying the virtuallinear program channel and a selected time bin for insertion of theadvertising content. The gateway translates the linear schedulinginstructions into scheduling criteria for dynamically inserting theadvertising content during playback of any of the video on demand assetsthat comprise the virtual linear program channel within the selectedtime bin.

In a second embodiment, there is a system. The system is for schedulingadvertising content for dynamic insertion during playback of video ondemand assets. The system includes a remote scheduling server. Thesystem also includes a gateway in communication with the remotescheduling server. The gateway receives advertising content and linearscheduling instructions from a remote scheduling server, the linearscheduling instructions identifying a broadcast program channel and ascheduled time for insertion of the advertising content. The gatewaytranslates the linear scheduling instructions into a virtual linearprogram channel, the virtual linear program channel being associatedwith a plurality of video on demand assets having content related tocontent of the broadcast program channel. The gateway translates thelinear scheduling instructions into scheduling criteria for dynamicallyinserting the advertising content during playback of any of the video ondemand assets that comprise the virtual linear program channel within aselected time bin.

In another embodiment, there is a computer program product. The computerprogram product is tangibly embodied in a computer readable medium. Thecomputer program product includes instructions being operable to cause adata processing apparatus to schedule advertising content for dynamicinsertion during playback of video on demand assets. The computerprogram product includes instructions being operable to cause a dataprocessing apparatus to generate a virtual linear program channelassociated with a plurality of video on demand assets, the virtuallinear program channel comprising data defining a plurality ofpredetermined time bins and a forecast number of views of the virtualchannel assets within each of the time bins. The computer programproduct also includes instructions being operable to cause a dataprocessing apparatus to transmit the virtual linear program channel datato a remote scheduling server. The computer program product alsoincludes instructions being operable to cause a data processingapparatus to receive advertising content and linear program channelscheduling instructions from the remote scheduling server, the linearprogram channel scheduling instructions identifying the virtual linearprogram channel and a selected time bin for insertion of the advertisingcontent. The computer program product also includes instructions beingoperable to cause a data processing apparatus to translate the linearprogram channel scheduling instructions into scheduling criteria fordynamically inserting the advertising content during playback of any ofthe virtual channel assets within the selected time bin.

In other embodiments, any of the embodiments above can include one ormore of the following features. In some examples, a request is receivedfrom a subscriber within the selected time bin to playback a virtualchannel asset, and the advertising content is dynamically insertedduring playback of the virtual channel asset to the subscriber accordingto the scheduling criteria. Generating the virtual linear programchannel can further include defining for each predetermined time bin atleast one avail within which to dynamically insert the advertisingcontent according to the scheduling criteria during playback of avirtual channel asset.

In other examples, generating the virtual linear program channel canfurther comprise defining a plurality of avails across the plurality ofpredetermined time bins within which to dynamically insert contentduring playback of a virtual channel asset, wherein a first set ofavails is reserved for dynamically inserting the advertising contentaccording to the scheduling criteria translated from the linear programchannel scheduling instructions and a second set of avails is reservedfor dynamically inserting advertising content according to schedulingcriteria received from a manual input.

In some examples, translating the linear program channel schedulinginstructions into scheduling criteria further can include translating aselection of a geographic zone within the scheduling instructions intotargeting criteria for dynamically inserting the advertising contentduring playback of any of the virtual channel assets within the selectedtime bin to subscribers within the selected geographic zone. The virtuallinear program channel can be further associated with targeting criteriafor targeting an audience to receive the advertising content, and thelinear program scheduling instructions can be translated into schedulingcriteria for dynamically inserting the advertising content duringplayback of any of the virtual channel assets within the selected timebin to subscribers satisfying the targeting criteria.

In other examples, the advertising content is dynamically insertedaccording to the scheduling criteria during playback of any of thevirtual channel assets within the selected time bin. Data indicative ofthe insertion of the advertising content can be collected. One or moreverification reports can be generated based on at least one verificationcriteria from the collected data, the verification criteria comprisingactual ad delivery, percentage of ad delivery, system operation, or anycombination thereof. The one or more verification reports can betransmitted to a billing system.

In some examples, data associated with playback of the virtual channelassets is tracked, and the forecast number of views of the virtualchannel assets within each of the time bins is generated according tothe tracked playback data. The linear program channel schedulinginstructions can be associated with a national advertising campaign, aregional advertising campaign, a local advertising campaign, or anycombination thereof.

In other examples, a remnant virtual linear program channel associatedwith a plurality of video on demand assets associated with lowviewership statistics is generated. Each bin of the predetermined timebins can be representative of a particular video on demand asset and theforecast number of views within each of the time bins can berepresentative of the forecasted number of views of each particularvideo on demand asset during a predetermined time period that is greaterthan a time period of the bin. Translating can include translating thelinear program channel scheduling instructions into scheduling criteriafor dynamically inserting the advertising content during playback of anyof the particular video on demand assets during the predetermined timeperiod associated within the selected time bin.

In some examples, the system also includes a subscriber in communicationwith the gateway. The gateway can receive a request from the subscriberwithin the selected time bin to playback a video on demand assetassociated with the virtual linear program channel. The gateway caninsert the advertising content during playback of the video on demandasset to the subscriber according to the scheduling criteria. The systemcan also include a subscriber in communication with the gateway. Thegateway can receive a request from the subscriber within the selectedtime bin to playback a video on demand asset associated with the virtuallinear program channel. The gateway can insert the advertising contentduring playback of the video on demand asset to the subscriber accordingto the scheduling criteria.

Other aspects and advantages of the present invention will becomeapparent from the following detailed description, taken in conjunctionwith the accompanying drawings, illustrating the principles of theinvention by way of example only.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, features, and advantages of the presentinvention, as well as the invention itself, will be more fullyunderstood from the following description of various embodiments, whenread together with the accompanying drawings.

FIG. 1 is a flow diagram showing a linear advertising system forscheduling ads for fixed insertion during playback of linear televisionprogramming of the prior art;

FIG. 2 is a diagram showing a VOD system for scheduling advertising fordynamic insertion during playback of VOD assets according to oneembodiment;

FIG. 3 is an exemplary diagram representing a virtual linear programchannel for VOD assets according to one embodiment;

FIG. 4 is a flow chart showing a method of scheduling advertisingcontent for dynamic insertion during playback of VOD assets according toone embodiment;

FIG. 5 is a flow chart illustrating a method of scheduling advertisingcontent for dynamic insertion during playback of VOD assets according toanother embodiment; and

FIG. 6 is a flow chart showing a conversion process for convertinglinear scheduling instructions to dynamically insert advertisements intoVOD content.

DETAILED DESCRIPTION

In general overview, virtual linear program channels are created topackage an estimated number of VOD views and advertising opportunities,or avails, in a manner consistent with linear ad business processes. Aview is, for example, a request for a VOD download from a user (e.g.,via a VOD server system). The virtual linear program channels,preferably along with forecast information, are transmitted to theremote scheduling server to allow ad agencies to bid on and purchaseadvertising spots within the virtual linear program channels. Standardlinear scheduling instructions are received and parsed to generatescheduling criteria for ads within the VOD advertising opportunities.

FIG. 1 is a flow diagram showing a linear advertising system 50 forscheduling local ads for fixed insertion during playback of lineartelevision programming of the prior art. Scheduling national ads forfixed insertion during playback of linear television programming uses asimilar system as that shown in FIG. 1. As shown, the linear advertisingsystem 50 includes an advertiser 52 in communication with an ad agency54. Advertising (“Ad”) agency 54 is in communication with a remotescheduling server 56. Remote scheduling server 56 includes a salessystem 58 and traffic and billing (“T&B”) system 60. The sales system 58is in communication with ratings provider 62 (e.g., a Nielson ratingsprovider). T&B system 60 is in communication with network televisionprovider 64. T&B system 60 is in communication with delivery system 66.Live feed 68 is in communication with delivery system 66. Deliverysystem 66 transmits broadcast 70 (e.g., to linear television viewers).

Advertiser 52 is a person and/or entity seeking to create an advertisingcampaign. An advertising campaign reflects the goals and desires thatadvertiser 52 wishes to accomplish through their advertising strategies.Ad agency 54 is a service business dedicated to creating, planning, andhandling advertising for its clients utilizing, for example, Spot TV.The ad agency 54 includes not only the personnel who create the ads, butalso the people who meet with advertisers 52 to determine their salesgoals and creative strategies. The ad agencies additionally include abuying department which regulates the flow of work in the agency. The adagencies work with each advertiser 52 to create an advertising campaign,which is a series of advertisement messages that typically share asingle idea and theme which make up an integrated marketingcommunication (“IMC”).

Sales system 58 can include one or more server components. Sales system58 can include, for example, a multi system operator (“MSO”) servercomponent that is an operator of multiple cable television systems(e.g., Comcast, Time Warner, and Cox Communications in the US, andVirgin Media in the UK). Commercial ad spot inventory is generated by TVnetworks. The ad agencies (e.g., Ad agency 54) purchase variouscombinations and allocations for advertising content (e.g., through bothautomated and manual means, such as telephone). The inventory includesinformation such as the content (e.g., which network), viewershipinformation (e.g., Nielsen ratings, which indicate the audience size andcomposition of television programming), value (e.g., CPM pricing),and/or the like.

T&B system 60 is used to schedule linear advertising. Users can makedesired adjustments immediately in the sales system 58 and export ordersdirectly into the T&B system 60. The T&B system 60 generates the linearscheduling instructions based on specific ads. The T&B system caninclude a traffic scheduler for scheduling the linear advertising. Thenetwork television provider 64 provides a schedule of which ads areavailable to be trafficked by the T&B system 60. The linear schedulethen goes into the delivery system 66. The delivery system 66 receivesthe linear schedule and ads to be inserted, facilitates delivery tolinear television users through the delivery network, and transmitsverification reports back to the T&B system 60. The delivery system 66(e.g., using a splicer) splices linear advertising into broadcaststreams. The communications from the T&B system 60 to the deliverysystem 66 (e.g., an ad insertion system) can use ANSI/Society of CableTelecommunications Engineers (“SCTE”) 118-3, which is the traffic systemto ad insertion system file format specification. T&B system 60 caninclude server components that generate the schedules of ads to play andreceive information for the verification reports. A linear T&B servercomponent can be used, for example, to obtain asset delivery orders orcontracts and billings for asset delivery. At the national level, thereis typically an agreement with cable companies, so the process repeatsfor an amount allocated to the cable company.

Proposal systems, such as DealMaker™ by Invision Inc., are oftenutilized by media companies for inventory management and pricing ofcommercial ad time. Such tools can help a media company to makedecisions on their advertising sales business. The services offered caninclude creating proposals and taking deals, generating and managingrate cards (i.e., the audience estimates and pricing for programs),allocate spots to brands according to client specifications, report onavails, units in proposals, units on hold, and units ordered, and otherrelated ad services. Advertising sales systems (e.g., sales system 58)bridge together the contracts between national TV sales reps and majorad agencies to purchase commercial ad time. To streamline the ad salesprocess, server systems can receive contracts electronically (e.g., viathe Electronic Data Interchange (EDI) by Strata Marketing).

Generally, an ad agency 54 works with advertisers 52 to create adcampaigns by purchasing ad spots through the remote scheduling server56. The ads are purchased, with the value determined through the CPM ofthe ad spot. After the ad spots are purchased, T&B system 60 generateslinear program scheduling instructions based on the network content fromthe network television provider 64. The T&B system 60 transmits thelinear program scheduling instructions to the delivery system 66, whichsplices the ads into the live broadcast feed from live feed 68. Theresulting broadcast 70 is delivered to viewers.

However, while there is great potential to use VOD advertising as partof an overall advertiser's ad campaign, various incompatibilities withlinear advertising (e.g., the linear advertising business workflow asused by the components of FIG. 1 for the sales and scheduling of localads for fixed insertion during playback of linear televisionprogramming) make VOD advertising less appealing than standard linearadvertising. For example, the current sale processes of linearadvertising does not support the sales of VOD ads. Linear televisionspots can be sold based on Nielson ratings, have guaranteed presentationtimes, and the ad spots also have known presentation times. Unlikelinear television, VOD content are transmitted sporadically based onuser requests, there are no guaranteed presentation times, and adpresentation times are unknown. This results in less VOD ad sales, aslower overall process for VOD ad campaign generation, and a hesitancyof linear ad agencies to include VOD ad spots in addition to traditionallinear television ad opportunities.

The techniques for scheduling advertising content for dynamic insertionduring play of video on demand assets described herein can provide oneor more of the following advantages. An advantage to the techniques aread agencies can purchase advertising through multiple system operators(“MSOs”) and/or linear traffic and billing (“T&B”) server systemswithout changing the current ad purchasing process. VOD ad spots (e.g.,ad placement opportunities) are translated into a format consistent withlinear advertising models. Linear scheduling instructions are translatedappropriately without involvement from the MSOs, linear T&B systems, ortraffic schedulers. The system can generate accurate delivery reports,which can include specific information related to the number of adsviewed, delivery information, and other heuristics.

FIG. 2 is a diagram showing a VOD system 100 for scheduling advertisingfor dynamic insertion during playback of VOD assets according to oneembodiment. As shown, VOD system 100 is in communication with the remotescheduling server 56 through a gateway 108. Gateway 108 is incommunication with ad campaign manager 110, terminal 112, and database114. Content management server 116 is in communication with ad campaignmanager 110 and gateway 108. Content management server 116 is incommunication with VOD server system 122A through VOD server system 122N(collectively VOD server systems 122). Each VOD server system 122includes an ad insertion server 120.

The remote scheduling server 56 can be any standard linear advertisingsales server system. For example, as discussed in FIG. 1, the remotescheduling server 56 can include the sales system 58, the T&B system 60,or any combination thereof. Gateway 108 facilitates communicationsbetween the remote scheduling server 56 and the VOD system components(e.g., the ad campaign manager 110, content management server 116, etc.)The ad campaign manager 110 can facilitate the use of more targetedadvertising for certain advertisers. The ad campaign manager 110 can beseparated from and/or functionally incorporated into other modules suchas the gateway 108. The VOD ad insertion server 120 can be, for example,an AdPulse VOD system developed by SeaChange International Inc. ofActon, Mass., which provides extensions to core VOD technology and thead management functions that automate the dynamic insertion ofadvertisements into VOD streams. The AdPulse VOD system includes, forexample, ad campaign manager 110, content management server 116, and VODad insertion servers 120.

VOD server systems 122 can include, for example, a content deliveryplatform. For example, the content delivery platform can be an Axiom™ OnDemand™ system by SeaChange International Inc. For example, the contentdelivery platform can automate the intensive behind-the-scenes VODprocesses including content propagation, subscriber and streammanagement, and performance reporting and monitoring. The VOD serversystem 122 software can also provide the foundation for addingadditional content navigation, gaming, DVD and ad targetingapplications. Ad content delivery can be, for example, provided from atape, a video file, and/or the like.

In some embodiments, instead of representing a linear insertionopportunity, an avail represents an inventory package. An inventorypackage is salable to a buyer, and includes one or more attributes(e.g., show placement location, audience forecast, and/or cost). Forlinear ad sales (e.g., Linear Spot), an inventory package includesopportunities and/or information advertisers traditionally use for adpurchasing (e.g., an insertion opportunity in a specific point in thetimeline of a show, with an associated Nielsen forecast and a CPM). Fornon-linear insertion opportunities (e.g., VOD), the inventory packagecan represent a placement opportunity for an asset (e.g., an avail), anaudience forecast for a bin based on VOD system reports, and a CPM. Forexample, assume a re-run of a broadcast show is available on VOD withthree avails. Audience forecasts can be generated for periods (e.g., onehour periods) in which the content will be available (e.g. 10,000 viewerbetween 8:00 p.m. and 9:00 p.m. on a given date, etc.). A price can beset for the inventory package. This translates to an inventory packagewith three avails scheduled some time between 8:00 p.m. and 9:00 p.m.,with an audience forecast of 10,000.

FIG. 3 is an exemplary diagram representing a virtual linear programchannel 250 for VOD assets according to one embodiment. As shown, thevirtual linear program channel 250 includes data that defines aplurality of predetermined time bins, bin one 252A through bin N 252E(collectively bins 252). Each of the bins 252 includes data defining oneor more avails, avail one 254A through avail N 254B. Each avail is an adplacement opportunity within the represented VOD content. Virtual linearprogram channel 250 spans a time period from zero hours 256 to twentyfour hours 258.

For example, each day can be broken out into a number of bins for avirtual linear program channel. Each bin has a number of virtual channelavails associated with it. In some examples, there is one avail per bin.Bins represent a block of time for which avails can be sold. Each bincan be set to span a specific amount of time, such as one hour, twohours, and/or the like. The bins can be configured to represent variabletime slots based on other criteria, such as desired CPM, predictednumber of views, and/or the like. For example, VOD assets can be groupedto represent a consistent number of predicted views (e.g., binsrepresenting 10K view slots).

Each bin is preferably associated with forecast data indicative of thenumber of expected views of the VOD content of the bin. For example, ifa particular bin is associated with content from three different VODassets (e.g., virtual channel assets), the expected number of views ofthe three different assets can be added together to generate theexpected number of views. The actual number of views of a particular VODasset can be recorded over time and used to develop estimates of theexpected number of views of the VOD asset during a particular timeperiod. For example, statistics can be recorded for a VOD asset duringthe hours of 8:00 p.m. to 10:00 p.m. The statistics can be averagedtogether to generate an estimated number of views of the VOD assetduring the 8:00 p.m. to 10:00 p.m. timeslot.

FIG. 4 is a flow chart showing a method 200 of scheduling advertisingcontent for dynamic insertion during playback of VOD assets according toone embodiment. At 202, gateway 108 generates a virtual linear programchannel associated with a plurality of video on demand assets from thecontent management server 116. At 204, gateway 108 transmits the virtuallinear program channel data to the remote scheduling server 56. Theremote scheduling server uses the virtual linear program channel data inthe same manner as standard linear program channel data for broadcastprogramming, returning advertising and linear program channel schedulinginstructions. At 206, gateway 108 receives advertising content andlinear program channel scheduling instructions (e.g., for lineartelevision or for a particular ad campaign) from the remote schedulingserver 56. At 208, gateway 108 parses the linear program channelscheduling instructions into tokens and/or parameters and translates thetokens and/or parameters representing the linear program channelscheduling instructions into scheduling criteria for dynamicallyinserting the advertising content during playback of any of the virtualchannel assets within the selected time bin.

In more detail with respect to step 202, the creation of the virtuallinear program channel can be done manually, based on the VOD assets, inresponse to linear programming instructions from the remote schedulingserver 56, as a remnant channel (described below), and other methods.The gateway 108 not only creates the virtual linear program channels,but can also package information which can further include metadata.Gateway 108 provides the virtual linear program channels and themetadata to the remote scheduling server 56 (e.g., to the sales system58).

The sales system 58 can set up the next day's schedule based on theactual number of VOD ad deliveries (e.g., via statistics from the VODserver systems 122). For example, if an advertiser 52 only paid for 10Kviews for an avail, but the avail is receiving 20K views, the additionalviews can be sold for another ad campaign (e.g., to an ad agency 54).Linear television does not have such a problem because there is noefficient way to measure the actual number of viewers. The VOD systemcan be configured, for example, to allow ad deliveries above and/orbelow the forecast to average out over time, and thus higher views cancompensate for lower views. For example, criteria for verification canbe based on whether the ad asset was available for delivery and thedelivery system was successfully delivering ads. If so, then the addelivery is deemed successful. Advertising can also be deemed to bedelivered if a minimum percentage of contracted ad views (e.g., 10%) areactually delivered.

For step 202, the terminal 112 can be used as a manual interface to thegateway 108 and/or the ad campaign manager 108 to change virtual linearprogram channel definitions as necessary. For example, the terminal 112can be used to define linear virtual program channels, which are storedin the database 114. Terminal 112 can include a user interface fordefining the virtual linear program channel definitions. For example, auser can interact with the gateway through the user interface to definethe virtual linear program channel, including the length of the bins,the number of avails, the content for each bin, and other

In further detail with respect to step 202, gateway 108 queries contentmanagement server 116 for VOD groupings and assets. Gateway 108 alsoqueries content management server 116 for viewership statistics of theVOD assets. Viewership information can be retrieved from the VOD serversystems which stores views (e.g., VOD server systems 122). Campaigndetails can be, for example, all movies in folder A of a particular VODsystem. Advantageously a schedule and viewership data can be used togenerate the equivalent of the previous linear system through channeldefinitions, well-defined schedules, and views.

For step 202, to preserve the linear advertising methodology, each availof the virtual linear program channel can be associated with an adpresentation time. For example, the first avail can be associated withan ad presentation time of 7:05 p.m., or five minutes into thepresentation of the virtual linear program channel. The second avail canbe associated with, for example, a presentation time of 7:30 p.m., orhalfway through the presentation of the virtual linear program channel.As with creating the virtual linear program channel, there may not be aguaranteed presentation time of either avails, and thus the ad contentmay not be presented at the exact time specified by the avail. However,the avails provide an approximate ad presentation time (e.g., to theremote scheduling server 56). The avails can have different CPM valuesbased on the estimated ad play time, the estimated viewershipinformation, and other ad data.

In further detail for step 202, in some embodiments a remnant channelcan be created for VOD asset ad opportunities. While some ad criteriamay overlap (e.g., age group of 18-25 that are males), some may notmatch at all. A remnant channel can be used to sell ads for these binsso there is no blank space in the VOD playback for an unfilled avail.These remnant ad spaces can be associated with a lower CPM value thanother avails. In some embodiments, the advertising bins can be split upso a portion of the advertising bins are sold based on ad sales toadvertisers (e.g., via translations to and from the remote schedulingserver 56 for VOD advertising), while a portion are reserved foradvanced campaigns. It may be beneficial to continue to provide targetedcampaign opportunities for VOD advertising to meet specific targetingneeds for advertisers. For example, for a VOD channel with 150K views,the system can sell 100K to traditional advertisers while reserving 50Kfor advanced campaigns (e.g., targeted campaigns). The remnant channelscan be manually added through a user interface at terminal 112.

In more detail with respect to step 204, the remote scheduling server 56receives data indicative of the virtual linear program channel (see,e.g., FIG. 3), which is in a format generally understood by the remotescheduling server 56. For example, gateway 108 can communicate with theremote scheduling server 56 via ANSI/SCTE 118 or by using CableComputerized Management Systems (CCMS) schedule formats. Other standardsand/or formats can be used to communicate with the remote schedulingserver 56.

In more detail with respect to step 206, once the avails are sold (e.g.,purchased by ad agency 54 via interactions with the MSO or Linear T&B ofthe remote scheduling server 56), a traffic schedule is delivered (e.g.,via T&B system 60 of the remote scheduling server 56). Ads can beseparate from the VOD programming content until playout and trackeduniquely. At playout ads are spliced into VOD content; the VOD adinsertion server 120 handles the splicing of ads into the VOD content.The VOD ad insertion server 120 receives schedules which are used toautomatically determine the video required and to request appropriately(e.g., from a video server). The gateway 108 can use the linear schedulefile from the remote scheduling server 56. Ad ingest can include, forexample, importing an ad asset from a network share through atranscoder, third party generated MPEG and ADI 1.1 or ADI 2.0 files,and/or by manual entry via an ad meta data editor (“ADME” by SeaChangeInternational Inc.) of an MPEG file.

In more detail with respect to step 208, gateway 108 can transmitscheduling criteria (e.g., all files in a particular folder, folder A,for a stream requested between 8 p.m. and 9 p.m.) to the contentmanagement server 116. For example, gateway 108 can transmit campaigndetails using SCTE 130 or Campaign Information Package (CIP) byCableLabs, which creates the framework to pick, on the fly, which ad,and of which length, to splice into a stored program. CIP providesconfiguration details for MSO systems, delivery instructions for contentassets, identifiers for resolving metrics and application messages,addresses for propagation of messages and delivery of measurement data,and other necessary data. CIP can be used to drive the advertising andnon-advertising campaign execution process. The database 114 can be usedto store the virtual linear program channels and/or the forecast dataused by the gateway 108. The content management server 116 controls anddecides what content will be live and how to use the ad insertioncriteria to insert ads into the VOD content at appropriate avails.

Virtual channels can be created to represent groupings of VOD assetsbased on genre, VOD provider (e.g., ESPN, CNN, etc.), VOD presentationtime, and/or other types of grouping criteria. For example, a virtuallinear program channel can be created for the genre “Asian karate,” setup to represent a one hour show with two advertising opportunities thatrepeat twenty-four times a day. However, unlike linear television thereis not a guaranteed playback time of the Asian karate VOD assets. Toadjust VOD programming into the linear television model, viewershipstatistics can be used to estimate how many VOD subscribers will belikely to request the VOD content during a specified time block.

Viewership statistics for the desired time period are used to estimatethe probable number of views for the Asian karate virtual linear programchannel. For example, assume viewership statistics dictate approximately1,000 views of various Asian karate VOD assets occur between 7:00 p.m.and 8:00 p.m. on Tuesday nights. The associated Asian karate VOD assetscan be grouped (e.g., by gateway 108) into the virtual linear programchannel with one bin (e.g., bin one 252A) between 7:00 p.m. and 8:00p.m. with two advertising opportunities (e.g., two avails within bin one252A).

The gateway 108 transmits to the remote scheduling server 56 informationindicative of what the different ad opportunities are for the AsianKarate virtual linear program channel, which content the adopportunities are inserted into, and when the ads can be inserted. Tothe remote scheduling server 56, the virtual linear program channelappears like any other linear program channel. Advantageously, thegateway 108 translated discrete viewership opportunities of VOD contentinto an equivalent representation to mimic linear advertisingopportunities. As a result, the avails (e.g., ad opportunities) are soldfor the virtual linear program channel as they would be sold for normallinear ad opportunities.

Once the Asian karate avails are sold, the linear schedulinginstructions can be translated into scheduling criteria to dynamicallyinsert a first ad (e.g., from the advertising content transmitted by theremote scheduling server 56) within the first five minutes of a VODasset playback. Similarly, the scheduling criteria can dynamicallyinsert a second ad within the first thirty minutes of the VOD assetplayback. For example, to the remote scheduling server 56, the gateway108 can transmit a virtual linear program channel including one availwithin the first 20 min of a show. Similarly, a virtual linear programchannel can indicate at 8:10 p.m. there are two insertion opportunities,thirty seconds each. Such advertising spots are pertinent for spotlinear but are not used for VOD. Further, 8:10 is also irrelevant forVOD, but can be used to distinguish between different ad insertionopportunities. The time can translate, for example, to schedulinginstructions to insert the ad into any VOD content initiated between8:00 p.m. and 10:00 p.m. Thus, rather than purchasing an advertisementtime spot, the advertiser is purchasing a stream of uses. Statistics canbe propagated back up to gateway 108 to indicate whether the ads wereshown or not. Such statistics can be indicative of a binary result, apercentage played, and/or the like.

Thus, ad hoc creation of virtual linear program channels enables thesale of ads for the known associated VOD content. The gateway 108 allowsthe remote scheduling server 56 to identify ad opportunities within VODassets without modifying any of the underlying hardware and/or softwarecurrently being used by the system since the virtual linear programchannel is in a structure that is compatible with the current operationof the remote scheduling server 56. Similarly, the traditional linearscheduling instructions generated by the remote scheduling server areparsed and translated into the scheduling criteria for dynamicallyinserting the ad content into the VOD assets during playback.

The system returns information (e.g., delivery information) back up thechain for billing purposes. Additionally, additional reports andanalytics can be generated (e.g., through the content management server116). Reporting is useful to give advertisers feedback. Because theactual presentation of ad content in VOD is specifically tied to aparticular VOD asset request, detailed statistics can be obtained fromthe ad presentation. For example, information such as the exact adplayback timestamp, the number of ads actually presented, and otherrequestor statistics (e.g., geographical area, age group, etc.) can berecorded and used for reporting purposes.

Alternative billing schemes can charge advertisers by the actualdelivery. For example, the viewership can be divided into multiple bins,and the bins can be audited periodically to determine which bins weresuccessful based on actual VOD delivery. For example, assume a SciFivirtual channel at 9 p.m. to 10 p.m. on a Friday night slot, which isassociated with a forecasted 120K views. Multiple avails can be created,one with a forecast of 90K viewers, one with 30K viewers, and one with10K viewers. If only 100K views were delivered, then only the 90K viewand the 10K view avails are verified. If, for example, 130K views weredelivered, all three avails are verified.

Advantageously, method 200 provides a way to seamlessly provide VOD adopportunities to linear advertising systems (e.g., remote schedulingserver 56) for promoting VOD ad sales without disrupting the existinglinear ad sales methodology. VOD assets can be grouped and/or utilizedin ways which mesh with the remote scheduling server 56 to promote thesame interactions with the ad agency 54. For example, while VOD adavails allow for targeted ad campaigns, the gateway 108 can ignore thesecapabilities and instead provision the VOD inventory into the linear adsales process.

By following the standard linear sales business process, the VODinventory and ad insertion is promoted by gateway 108. Sales areexecuted in traditional manners by the linear advertising system. Thesales are entered, confirmed, and scheduled (e.g., by T&B system 60).Based on the schedule, advertising content can be ingested and/ortranscoded into video assets (e.g., via a transcoder). Transitioning thescheduling information back into the VOD system operates seamlessly withgateway 108 translating the linear schedule file into VOD campaigninstructions. Additional targeting instructions (e.g., creativeversioning) can be added to the campaign. Delivery data can be collectedand delivered into data reports, which can allow gateway 108 to generateverification files. The gateway 108 can transmit the verification filesback to the sales system 58. In turn, the sales system 58 can generateinvoices for customers. Invoices can be delivered to customers (e.g.,via a computerized data interchange).

FIG. 5 is a flow chart 350 illustrating a method of schedulingadvertising content for dynamic insertion during playback of VOD assetsaccording to another embodiment. At 352, the gateway 108 receivesadvertising content and linear scheduling instructions from the remotescheduling server 56. The linear scheduling instructions identify abroadcast program channel and a scheduled time for insertion of theadvertising content. At 354, the gateway 108 translates the linearscheduling instructions into a virtual linear program channel (e.g.,virtual linear program channel 250). The virtual linear program channelis associated with a plurality of video on demand assets that havecontent related to the content of the broadcast program channel. At 356,the gateway 108 parses the linear scheduling instructions intotokens/parameters representative of the content of the linear schedulinginstructions and translates the linear scheduling instructions intoscheduling criteria for dynamically inserting the advertising contentduring playback of any of the virtual channel assets within a selectedtime bin.

In more detail with respect to steps 352 and 354, rather than creatingthe virtual linear program channel before scheduling by the remotescheduling server 56, the virtual linear program channel can be derivedby decoding and interpreting the linear scheduling instructionsgenerated by the remote scheduling server 56. For example, an advertisermay desire to sell ads both on a linear channel of a particular contentprovider (e.g., ESPN) as well as with VOD assets associated with thecontent provider (e.g., archived sports videos, highlight videos, etc.).For example, assume a content provider purchases an ad campaignincluding an ad spot for a football game starting at 1:00 p.m. andending at 4:00 p.m., and also for a VOD ad spot for sports highlightsduring the same timeframe. This can allow any ad placed on a live/linearchannel to also be dynamically placed in related VOD content requestedduring the same timeframe. Advantageously, both linear televisionviewers and VOD viewers would see the same advertisement, extending thead campaign to a broader audience (e.g., by listening to the linearscheduling instructions for ESPN and create a VOD campaign based on theschedule).

For example, the sales system 58 can sell four ad spots on ESPN between8:00 p.m. and 9:00 p.m., where spots two and four are for VOD ad spots.To determine the sale value, assume for purposes of this example theparticular rating for the ESPN broadcast channel is 100K views for thedesired one hour time period, while statistics show 20K will watch VODcontent related to the broadcast channel. An advertiser can purchasejust the 100K views on the broadcast channel, or the advertiser canpurchase both the broadcast and VOD advertising spots to reach 120Kviews. If the advertiser (e.g., via their associated ad agency)purchases the 120K views, the gateway 108 creates a virtual linearprogram channel based on the linear scheduling instructions (e.g., fromthe remote scheduling server 56). The linear scheduling file caninclude, for example, notes so the gateway 108 can parse the linearscheduling file and determine to create the channel. Additionally, thelinear scheduling instructions are translated into scheduling criteria(e.g., via the gateway 108 and content management server 106). Thescheduling criteria make sure the ad plays part of VOD assets within thecreated virtual linear program channel, regardless of the actual contentof the assets.

FIG. 6 is a flow chart showing a conversion process 400 for convertinglinear scheduling instructions to dynamically insert advertisements intoVOD content. With reference to FIG. 2, at 402 the ad campaign manager110 generates scheduling criteria for the VOD assets associated with thevirtual linear program channel for the campaign. At 404, the contentmanagement server 116 receives a request for playback of VOD contentassociated with the virtual linear program channel (e.g., from a VODserver system 122). At 406, the content management server 116 identifiesadvertisements for dynamic insertion within the requested VOD contentbased on the scheduling criteria. At 408 the content management server116 generates a playlist and plays the requested VOD content to therequesting VOD server system 122. At 410, the VOD server system 122and/or content management server 116 generates billing and deliveryinformation.

In more detail with respect to steps 404 and 406, VOD asset playback isin response to a request for playback of VOD content from a user. Thecontent management server 116 determines whether the requested VOD assetis associated with a particular virtual linear program channel. Forexample, if the request is for an Asian karate movie, the contentmanagement server 116 will identify the appropriate ad for dynamicinsertion as instructed by the scheduling criteria. During playback ofthe VOD content to the requesting viewer, the ads are dynamicallyinserted into the VOD stream (e.g., via a splicer).

In more detail with respect to step 408, the advertising content can bestored at the content management server 116. There can be an ad assetingest control to ensure ads are inserted into the VOD content properly.The scheduling criteria for the VOD assets can be, for example, criteriato place a particular ad X on all assets with a content provider tag(e.g., ESPN). The scheduling criteria can also include criteria to placea particular ad on a group of assets associated with the virtual linearprogram channel for which the advertiser purchased the avail. Forexample, if the virtual linear program channel was for Asian karate, allVOD assets requested during the associated playback time of the virtuallinear program channel will be scheduled to include the ad.

In more detail with respect to step 410, verification files can begenerated on a recurring bases to drive customer (e.g., advertiser)billing. The VOD server system 122 and/or content management server 116can generate billing and delivery information based on the recordeddelivery information. Various billing schemes can be implemented (e.g.,bill only per ad delivery, bill for entire avail if a percentage of thepredicted ad views are reached, etc.). For example, as long as 50% ofthe promised ads were viewed for a particular avail, the VOD ad deliveryfor the avail is considered to be successful.

Since virtual linear program channels can be created dynamically (e.g.,FIG. 5 and the associated description), the channels can be created torepresent different types of VOD assets and ad campaign desires. Virtuallinear program channels can be created based off a VOD inventory group.Virtual linear program channels can be created to link linearprogramming ads to VOD network extras and/or network replays (e.g., FIG.5 and the associated description). For example, a virtual linear programchannel can be focused on content associated with a particular base VODprogram. A VOD program, for example, may be associated with variouslanguage versions, a subtitled version, a director's comment,censored/edited versions, different re-runs, etc. Virtual linear programchannels can be created for a special events channel (e.g., a holidaychannel).

Advertisers may want to buy avails for specific VOD assets or shows, orbuy a general category of VOD assets. Specific VOD assets or shows canbe, for example, individual movies, premium television series (e.g.,series for HBO, Showtime, etc.), and/or the like. General categories ofVOD assets include, for example, VOD assets grouped into categories suchas Kids, Family, Action, Drama, and other categories. The generalcategories can be further subdivided to form more specific virtuallinear program channels, such as, for example, Drama One, Drama Two, andDrama Three, where each subset represents a sub-grouping of the moregeneral category, and so on.

To support linear channels for each VOD asset or show, a virtual linearprogram channel can be created for each VOD asset. For example, avirtual linear program channel can be created with twenty-four bins,each bin with one or more avails, and where each of the twenty-four binsis representative of the same VOD asset. Each bin would additionally beassociated with forecast data for the particular VOD asset during thetime period represented by the bin. As another example, one virtuallinear program channel can be created which includes one bin, the bincomprising one or more avails, and where the bin is representative of aparticular playback time of the VOD asset (e.g., from 9:00 p.m. to 10:00p.m.).

The VOD system 100 can require a program instead of show buy for aminimum of a particular time period (e.g., a whole day twenty-four hourperiod, a twelve hour period, etc.) when purchasing ads for a specificVOD show, resulting in the creation of a virtual linear program channelfor specific shows. For example, for a virtual linear program channel,each bin is an hour in length and represents a particular VOD show,where each bin includes an ad avail for the VOD show. Purchasing anavail for a particular bin can result in scheduled bins for the VOD showfor the entire day. Each bin includes forecast data representative ofthe VOD show over the predetermined time period. For example, if thepredetermined time period is a twenty-four hour time period, the binincludes forecast data of the VOD show over the entire predeterminedtime period.

For example, assume a virtual linear program channel is created fortwenty-four shows and allows a purchaser to schedule ads for a minimumof a twenty-four hour period for each show. The virtual linear programchannel includes twenty four bins, where each bin represents an “hour”time slot for a particular VOD show and each bin has one ad avail 254.Bin one 252A represents VOD show one, bin two 252B represents VOD showtwo, and so on up to bin twenty-four which represents VOD showtwenty-four. Each bin is associated with forecast data for the VOD showover the entire twenty-four hour period, even though the bin isrepresentative of the VOD show for one hour. If an advertiser purchasesthe avail for bin one, which represents VOD show one, the advertiser haseffectively purchases ads for the entire day (i.e., twenty-four hourperiod) for VOD show one, at a price commensurate with the forecastedviews of VOD show one for the entire twenty-four hour period. Any numberof bins and/or avails can be used to represent the VOD assets or shows,and any time period can be used for scheduling the ads. For example, thevirtual linear program channel can include twenty-four shows intwenty-four one hour bins, forty-eight shows in forty-eight half hourbins, and/or the like. The system can require virtual linear programchannel purchases for a minimum of a twenty-four hour period, twelvehour period, six hour period, and/or the like.

Because of the additional statistical information that can be recordedthrough VOD advertising (e.g., the actual number of ad views), eachavail can be sold to any number of advertisers to fill the expectednumber of views. For example, if an ad is sold for an avail with anestimated 2K views, but records show the avail is actually getting 3Kviews, the additional 1K views can be sold to a second advertiser. Thus,in some examples the VOD system can sell a number of views for the availrather than exclusive use of the avail. While the number of views isreturned after delivery (e.g., to the sales system 58), the T&B system60 doesn't care about the number of views. For each advertiser, theypurchase the ad over a predetermined period, not the specific ad so thesystem can adjust the content at the T&B system 60 to optimize revenue.Thus, a virtual linear program channel with three avails can be sold ashaving three ad spots. The T&B system 60 updates the schedule, whichactually allocates a timeslot.

An advertiser may wish to purchase ad avails of VOD assets to get fullcoverage of the VOD asset and/or the entire virtual linear programchannel. For example, assume a virtual linear program channel 250 from8:00 p.m. to 9:00 p.m. has three bins 252, bin one with two avails 254at 8:10 p.m., bin two with two avails 254 at 8:30 p.m., and bin threewith one avail 254 at 8:50 p.m. For full coverage of the entire virtuallinear program channel, an advertiser may want to purchase the firstavail of the first two bins and the single avail of the last bin.

Advantageously, the sales model used to sell ads in the VOD contentrepresented by the linear virtual program channel is already a provenadvertising concept. Additionally, the system can scale from the locallevel to the national level. For example, VOD ad avails can be schedulednationally and sent out to all local areas. Targeted dynamic VOD ads canbe sold with minimal workforce training, and with minimum changes toexisting linear advertising business processes. Additionally,establishing a seamless interconnect between linear advertising and VODadvertising can provide an evolution path for better use of targetedadvertising.

The above-described systems and methods can be implemented in digitalelectronic circuitry, in computer hardware, firmware, and/or software.The implementation can be as a computer program product (i.e., acomputer program tangibly embodied in an information carrier). Theimplementation can, for example, be in a machine-readable storagedevice, for execution by, or to control the operation of, dataprocessing apparatus. The implementation can, for example, be aprogrammable processor, a computer, and/or multiple computers.

A computer program can be written in any form of programming language,including compiled and/or interpreted languages, and the computerprogram can be deployed in any form, including as a stand-alone programor as a subroutine, element, and/or other unit suitable for use in acomputing environment. A computer program can be deployed to be executedon one computer or on multiple computers at one site.

Method steps can be performed by one or more programmable processorsexecuting a computer program to perform functions of the invention byoperating on input data and generating output. Method steps can also beperformed by and an apparatus can be implemented as special purposelogic circuitry. The circuitry can, for example, be a FPGA (fieldprogrammable gate array) and/or an ASIC (application-specific integratedcircuit). Modules, subroutines, and software agents can refer toportions of the computer program, the processor, the special circuitry,software, and/or hardware that implements that functionality.

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor receives instructions and data from a read-only memory or arandom access memory or both. The essential elements of a computer are aprocessor for executing instructions and one or more memory devices forstoring instructions and data. Generally, a computer can include, can beoperatively coupled to receive data from and/or transfer data to one ormore mass storage devices for storing data (e.g., magnetic,magneto-optical disks, or optical disks).

Data transmission and instructions can also occur over a communicationsnetwork. Information carriers suitable for embodying computer programinstructions and data include all forms of non-volatile memory,including by way of example semiconductor memory devices. Theinformation carriers can, for example, be EPROM, EEPROM, flash memorydevices, magnetic disks, internal hard disks, removable disks,magneto-optical disks, CD-ROM, and/or DVD-ROM disks. The processor andthe memory can be supplemented by, and/or incorporated in specialpurpose logic circuitry.

To provide for interaction with a user, the above described techniquescan be implemented on a computer having a display device. The displaydevice can, for example, be a cathode ray tube (CRT) and/or a liquidcrystal display (LCD) monitor. The interaction with a user can, forexample, be a display of information to the user and a keyboard and apointing device (e.g., a mouse or a trackball) by which the user canprovide input to the computer (e.g., interact with a user interfaceelement). Other kinds of devices can be used to provide for interactionwith a user. Other devices can, for example, be feedback provided to theuser in any form of sensory feedback (e.g., visual feedback, auditoryfeedback, or tactile feedback). Input from the user can, for example, bereceived in any form, including acoustic, speech, and/or tactile input.

The above described techniques can be implemented in a distributedcomputing system that includes a back-end component. The back-endcomponent can, for example, be a data server, a middleware component,and/or an application server. The above described techniques can beimplemented in a distributing computing system that includes a front-endcomponent. The front-end component can, for example, be a clientcomputer having a graphical user interface, a Web browser through whicha user can interact with an example implementation, and/or othergraphical user interfaces for a transmitting device. The components ofthe system can be interconnected by any form or medium of digital datacommunication (e.g., a communication network). Examples of communicationnetworks include a local area network (LAN), a wide area network (WAN),the Internet, wired networks, and/or wireless networks.

The system can include clients and servers. A client and a server aregenerally remote from each other and typically interact through acommunication network. The relationship of client and server arises byvirtue of computer programs running on the respective computers andhaving a client-server relationship to each other.

Packet-based networks can include, for example, the Internet, a carrierinternet protocol (IP) network (e.g., local area network (LAN), widearea network (WAN), campus area network (CAN), metropolitan area network(MAN), home area network (HAN)), a private IP network, an IP privatebranch exchange (IPBX), a wireless network (e.g., radio access network(RAN), 802.11 network, 802.16 network, general packet radio service(GPRS) network, HiperLAN), and/or other packet-based networks.Circuit-based networks can include, for example, the public switchedtelephone network (PSTN), a private branch exchange (PBX), a wirelessnetwork (e.g., RAN, bluetooth, code-division multiple access (CDMA)network, time division multiple access (TDMA) network, global system formobile communications (GSM) network), and/or other circuit-basednetworks.

The transmitting device can include, for example, a computer, a computerwith a browser device, a telephone, an IP phone, a mobile device (e.g.,cellular phone, personal digital assistant (PDA) device, laptopcomputer, electronic mail device), and/or other communication devices.The browser device includes, for example, a computer (e.g., desktopcomputer, laptop computer) with a world wide web browser (e.g.,Microsoft® Internet Explorer® available from Microsoft Corporation,Mozilla® Firefox available from Mozilla Corporation). The mobilecomputing device includes, for example, a personal digital assistant(PDA).

Comprise, include, and/or plural forms of each are open ended andinclude the listed parts and can include additional parts that are notlisted. And/or is open ended and includes one or more of the listedparts and combinations of the listed parts.

One skilled in the art will realize the invention may be embodied inother specific forms without departing from the spirit or essentialcharacteristics thereof. The foregoing embodiments are therefore to beconsidered in all respects illustrative rather than limiting of theinvention described herein. Scope of the invention is thus indicated bythe appended claims, rather than by the foregoing description, and allchanges that come within the meaning and range of equivalency of theclaims are therefore intended to be embraced therein.

What is claimed is:
 1. A method of scheduling advertising content fordynamic insertion during playback of video on demand assets, comprising:receiving, by a data processing apparatus, advertising content andbroadcast program channel scheduling instructions from a remotescheduling server, the broadcast program channel scheduling instructionsidentifying a broadcast program channel and a scheduled time forinsertion of the advertising content during a program broadcast over thebroadcast program channel; translating, by the data processingapparatus, the broadcast program channel scheduling instructions intodata representing a virtual broadcast program channel, the virtualbroadcast program channel being associated with a plurality of video ondemand assets having content related to content of the broadcastprogram, wherein at least one of the plurality of video on demand assetshas content different from the broadcast program; and furthertranslating, by the data processing apparatus, the broadcast programchannel scheduling instructions into scheduling criteria for dynamicallyinserting the same advertising content during playback of any of thevirtual channel assets over a video on demand channel that occurs withinthe same timeframe as the program broadcast over the broadcast programchannel.
 2. The method of claim 1, further comprising: receiving, by thedata processing apparatus, a request from a subscriber device within theselected time bin to playback a virtual channel asset; and dynamicallyinserting, by the data processing apparatus, the advertising contentduring playback of the virtual channel asset to the subscriber deviceaccording to the scheduling criteria.
 3. A computerized system forscheduling advertising content for dynamic insertion during playback ofvideo on demand assets, comprising: a gateway computer in communicationwith a remote scheduling server computer that schedules advertisingcontent for insertion in broadcast program channels; the gatewaycomputer receives the advertising content and broadcast program channelscheduling instructions from the remote scheduling server, the broadcastprogram channel scheduling instructions identifying a broadcast programchannel and a scheduled time for insertion of the advertising contentduring a program broadcast over the broadcast program channel; thegateway computer translates the broadcast program channel schedulinginstructions into data representing a virtual broadcast program channel,the virtual broadcast program channel being associated with a pluralityof video on demand assets having content related to content of thebroadcast program, wherein at least one of the plurality of video ondemand assets has content different from the broadcast program; and thegateway computer further translates the broadcast program channelscheduling instructions into scheduling criteria for dynamicallyinserting the same advertising content during playback of any of thevideo on demand assets that comprise the virtual broadcast programchannel over a video on demand channel that occurs within the sametimeframe as the program broadcast over the broadcast program channel.4. The computerized system of claim 3, wherein: the gateway computer isin communication with a subscriber device, the gateway computer receivesa request from the subscriber device to playback a video on demand assetassociated with the virtual broadcast program channel; and the gatewaycomputer inserts the advertising content during playback of the video ondemand asset to the subscriber device according to the schedulingcriteria.
 5. A computer program product, tangibly embodied in amachine-readable storage device, the computer program product includinginstructions being operable to cause a data processing apparatus toschedule advertising content for dynamic insertion during playback ofvideo on demand assets, comprising: receive advertising content andbroadcast program channel scheduling instructions from a remotescheduling server, the broadcast program channel scheduling instructionsidentifying a broadcast program channel and a scheduled time forinsertion of the advertising content during a program broadcast over thebroadcast program channel; translate the broadcast program channelscheduling instructions into data representing a virtual broadcastprogram channel, the virtual broadcast program channel being associatedwith a plurality of video on demand assets having content related tocontent of the broadcast program, wherein at least one of the pluralityof video on demand assets has content different from the broadcastprogram; and further translate the broadcast program channel schedulinginstructions into scheduling criteria for dynamically inserting the sameadvertising content during playback of any of the virtual channel assetsover a video on demand channel that occurs within the same timeframe asthe program broadcast over the broadcast program channel.